/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.jjsoft.disco.gco.ngc;

import com.jjsoft.disco.gco.dao.GenericController;
import com.jjsoft.disco.gco.mdl.Configuracion;
import com.jjsoft.disco.gco.util.configuraciones;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Johnny
 */
public class ConfiguracionManager {

    GenericController<Configuracion> controladorConfiguracion = new GenericController<Configuracion>();

    public void guardarConfiguracion(Configuracion configuracion) throws Exception {
        try {
            configuracion.setDirIP(InetAddress.getLocalHost().getHostAddress());
            if (configuracion.getIdconfiguracion()!=null) {
                controladorConfiguracion.edit(configuracion);
                List<Configuracion>listaConfigs=controladorConfiguracion.findEntities(controladorConfiguracion.getCount(new Configuracion()), 0, new Configuracion());
                for(int i = 0;i<listaConfigs.size();i++)
                {
                    listaConfigs.get(i).setBarras(configuracion.getBarras());
                    listaConfigs.get(i).setConsumibleh(configuracion.getConsumibleh());
                    listaConfigs.get(i).setConsumiblem(configuracion.getConsumiblem());
                    listaConfigs.get(i).setCoverh(configuracion.getCoverh());
                    listaConfigs.get(i).setCoverm(configuracion.getCoverm());
                    listaConfigs.get(i).setDireccion(configuracion.getDireccion());
                    listaConfigs.get(i).setIva(configuracion.getIva());
                    listaConfigs.get(i).setLogo(configuracion.getLogo());
                    listaConfigs.get(i).setNombreDuenio(configuracion.getNombreDuenio());
                    listaConfigs.get(i).setNombreLocal(configuracion.getNombreLocal());
                    listaConfigs.get(i).setRuc(configuracion.getRuc());
                    listaConfigs.get(i).setTelefono(configuracion.getTelefono());
                    controladorConfiguracion.edit(listaConfigs.get(i));
                }
            } else {
                controladorConfiguracion.create(configuracion);
                List<Configuracion>listaConfigs=controladorConfiguracion.findEntities(controladorConfiguracion.getCount(new Configuracion()), 0, new Configuracion());
                for(int i = 0;i<listaConfigs.size();i++)
                {
                    listaConfigs.get(i).setBarras(configuracion.getBarras());
                    listaConfigs.get(i).setConsumibleh(configuracion.getConsumibleh());
                    listaConfigs.get(i).setConsumiblem(configuracion.getConsumiblem());
                    listaConfigs.get(i).setCoverh(configuracion.getCoverh());
                    listaConfigs.get(i).setCoverm(configuracion.getCoverm());
                    listaConfigs.get(i).setDireccion(configuracion.getDireccion());
                    listaConfigs.get(i).setIva(configuracion.getIva());
                    listaConfigs.get(i).setLogo(configuracion.getLogo());
                    listaConfigs.get(i).setNombreDuenio(configuracion.getNombreDuenio());
                    listaConfigs.get(i).setNombreLocal(configuracion.getNombreLocal());
                    listaConfigs.get(i).setRuc(configuracion.getRuc());
                    listaConfigs.get(i).setTelefono(configuracion.getTelefono());
                    controladorConfiguracion.edit(listaConfigs.get(i));
                }
            }
        } catch (UnknownHostException ex) {
            Logger.getLogger(ConfiguracionManager.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public Configuracion verConfiguracion(String ip) {
        try {
            Configuracion configuracion = controladorConfiguracion.findWhere(new Configuracion(), "dirIP='" + ip + "'").get(0);
            return configuracion;
        } catch (Exception ex) {
            return null;
        }
    }
    
    
}
